

属于多源最短路径问题：路径是双向的，且能得到任意两点之间的最短路径



一般地，默认两个顶点之间的距离是最短的，当加入一个新的顶点之后，三个顶点连成一条路径
有可能这条路径比之前两个顶点的路径短，短则更新，不短则不更新e[i][j]
然后遍历所有顶点执行上述操作



     for(k=1;k<=n;k++)  //k= 1 2 ...n  意味着比较
     for(i=1;i<=n;i++)  
     for(j=1;j<=n;j++)  
     if(e[i][j]>e[i][k]+e[k][j])  
                    e[i][j]=e[i][k]+e[k][j]; 



迪杰斯特拉


单源最短路径

1    9  默认distance为最短 list(1,9)
从剩余的顶点依次加入，如果distance变短，更新顶点list
